package com.prs.crm.dao.crm;

import java.util.Collection;
import java.util.Date;
import java.util.List;

import com.prs.crm.dao.BaseDao;
import com.prs.crm.domain.crm.Customer;
import com.prs.crm.domain.crm.CustomerAgent;
import com.prs.crm.domain.crm.CustomerSupplier;
import com.prs.crm.domain.hr.Person;

public interface CustomerDao extends BaseDao<Customer>{
	Collection<?> getCustomerTypeReport(Date beginTime, Date endTime);
	Collection<?> getCustomerBusinessReport(Date beginTime, Date endTime);
	Collection<?> getReportSouce(Date dates, Person person, Integer type, String merit);
	Collection<Customer> getAllCustomer();
	Collection<Customer> getAllLiaisonCustomers();
	Collection<Customer> getCustomerByName(String name);
	Collection<Customer> getAllNoneLiaisonCustomers(String tradeIds);
	Collection<Customer> getCustomerAddReportSouce(Date dates, Integer type);
	Collection<Customer> getCustomerByLay();
	/**
	 * 查询代理商关联客户
	 * @param name
	 * @return
	 */
	List<Customer> getCustomerByAgent(CustomerAgent customerAgent);
	/**
	 * 查询供应商关联客户
	 * @param customerSupplier
	 * @return
	 */
	List<Customer> getCustomerBySupplier(CustomerSupplier customerSupplier);
}
